package thread;

/**
 * 使用匿名内部类形式实现线程的两种方式
 */
public class ThreadDemo3 {
    public static void main(String[] args) {
        //第一种创建方式:继承Thread并重写run方法
//        Thread t1 = new Thread() {//这里不能用lambda表达式因为不是函数式接口不止一个抽象方法
//            public void run() {
//                for (int i = 0; i < 1000; i++) {
//                    System.out.println("你是谁");
//                }
//            }
//        };
        Thread t1 = new Thread() {
            public void run() {
                for (int i = 0; i < 1000; i++) {
                }
            }
        };
        t1.start();

        //第二种创建方式：实现Runnable接口并重写run方法
        Runnable r = new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 1000; i++) {
                    System.out.println("是你爹");
                }
            }
        };
        Thread t2 = new Thread(r);
        t2.start();

//        Thread t3 = new Thread(new Runnable() {
//            @Override
//            public void run() {
//                for (int i = 0; i < 1000; i++) {
//                    System.out.println("是你爹");
//                }
//            }
//        });
        Thread t3 = new Thread(() -> {
            for (int i = 0; i < 1000; i++) {
                System.out.println("是你爹");
            }
        });
        t3.start();
    }
}
